Imports System.Data.SqlClient
Imports System.Xml
Public Class dConcepto
    Public Function Existe(ByVal descripcion As String, ByVal Tipo As String) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        If (descripcion <> "") Then
            Parametros.Add(New SqlParameter("@pEDescripcion", descripcion))
        End If
        If (Tipo <> "") Then
            Parametros.Add(New SqlParameter("@pETipo", Tipo))
        End If
        Return (CapaDeDatos.dConexion.Consultar("STORE_TblConceptoBuscarFiltrado", Parametros).Tables(0).Rows.Count <> 0)
    End Function
    Public Function PasarImputacion(ByVal CodigoConcepto As Integer) As Integer
        Dim Parametros As ArrayList = New ArrayList
        If CodigoConcepto <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoConcepto", CodigoConcepto))
        End If
        
        Return Int(CapaDeDatos.dConexion.Consultar("STORE_TblConceptoBuscarFiltrado", Parametros).Tables(0).Rows(0)("CodigoImputacion").ToString())
    End Function
    Public Function Insertar(ByVal Descripcion As String, ByVal Iva As String, _
                             ByVal CodigoImputacion As String, ByVal Tipo As String) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        If Descripcion <> "" Then
            Parametros.Add(New SqlParameter("@pEDescripcion", Descripcion))
        End If
        If Iva <> "" Then
            Parametros.Add(New SqlParameter("@pEIva", CDbl(Iva)))
        End If
        If Tipo <> "" Then
            Parametros.Add(New SqlParameter("@pETipo", Tipo))
        End If
        If CodigoImputacion <> "" Then
            Parametros.Add(New SqlParameter("@pECodigoImputacion", CodigoImputacion))
        End If

        Return CapaDeDatos.dConexion.ABM("STORE_TblConceptoAlta", Parametros)
    End Function
    Public Function ListarConceptos(ByVal CodigoConcepto As Integer, ByVal Descripcion As String, ByVal Iva As String, _
                                     ByVal CodigoImputacion As String, ByVal Tipo As String) As DataSet
        Dim Parametros As ArrayList = New ArrayList
        If CodigoConcepto <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoConcepto", CodigoConcepto))
        End If

        If (Descripcion <> "") Then
            Parametros.Add(New SqlParameter("@pEDescripcion", Descripcion))
        End If
        If Iva <> "" Then
            Parametros.Add(New SqlParameter("@pEIva", CDbl(Iva)))
        End If
        If (Tipo <> "") Then
            Parametros.Add(New SqlParameter("@pETipo", Tipo))
        End If
        If CodigoImputacion <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoImputacion", CodigoImputacion))
        End If
        Return CapaDeDatos.dConexion.Consultar("STORE_TblConceptoBuscarFiltrado", Parametros)
    End Function
    Public Function Eliminar(ByVal CodigoConcepto As Integer) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        Parametros.Add(New SqlParameter("@pECodigoConcepto", CodigoConcepto))
        Return CapaDeDatos.dConexion.ABM("STORE_TblConceptoEliminar", Parametros)
    End Function
    Public Function Modificar(ByVal CodigoConcepto As Integer, ByVal Descripcion As String, ByVal Iva As String, _
                              ByVal CodigoImputacion As Integer, ByVal Tipo As String) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        If CodigoConcepto <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoConcepto", CodigoConcepto))
        End If

        If (Descripcion <> "") Then
            Parametros.Add(New SqlParameter("@pEDescripcion", Descripcion))
        End If
        If Iva <> "" Then
            Parametros.Add(New SqlParameter("@pEIva", CDbl(Iva)))
        End If
        If (Tipo <> "") Then
            Parametros.Add(New SqlParameter("@pETipo", Tipo))
        End If
        If CodigoImputacion <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoImputacion", CodigoImputacion))
        End If
        Return CapaDeDatos.dConexion.ABM("STORE_TblConceptoModificar", Parametros)
    End Function
    Public Function MostrarDesc(ByVal CodigoConcepto As Integer, ByVal Descripcion As String) As String
        Dim Parametros As ArrayList = New ArrayList
        If CodigoConcepto <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoConcepto", CodigoConcepto))
        End If
        If Descripcion <> "" Then
            Parametros.Add(New SqlParameter("@pEDescripcion", Descripcion))
        End If
        Return CapaDeDatos.dConexion.Consultar("STORE_TblConceptoBuscarFiltrado", Parametros).Tables(0).Rows(0)("Descripcion").ToString()
    End Function
    Public Function DarIvaConcepto(ByVal CodigoConcepto As Integer) As Double
        Dim Parametros As ArrayList = New ArrayList
        If CodigoConcepto <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoConcepto", CodigoConcepto))
        End If
        Return (CapaDeDatos.dConexion.Consultar("STORE_TblConceptoBuscarFiltrado", Parametros)).Tables(0).Rows(0)("Iva").ToString()
    End Function
End Class
